<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        th,td{
            width: 150px;
            height: 50px;
        }
    </style>
</head>
<body>
    <p>用户名: <input type="text" class="yhm"></p>
    <p>年龄: <input type="text" class="nl"></p>
    <button onclick="add()">提交</button>
    <table border="1">
        <thead>
            <tr>
                <th>用户名</th>
                <th>年龄</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                
            </tr>
        </tbody>
    </table>
</body>
</html>
<script>
    //1.获取页面数据
    var yhm=document.querySelector('.yhm')
    var nl=document.querySelector('.nl')
    var tbody=document.querySelector('tbody')
    //2.取得数据
    function qu(){
        var obj=localStorage.getItem('data')
        if(obj!=null){
            return JSON.parse(obj)
        }else{
            return []
        }
    }
    //3.本地存储数据
    function cun(data){
        localStorage.setItem('data',JSON.stringify(data))
    }

    function add(){
        //取得数据
        var shuju=qu();
        //操作数据
        shuju.push({
            uname:yhm.value,
            age:nl.value
        })
        //更新本地数据
        cun(shuju);
        yhm.value=''
        nl.value=''
        xr();
    }
    function xr(){
        tbody.innerHTML=''
        //取得数据
        var shuju=qu();
        //for循环遍历
        for(i=0;i<shuju.length;i++){
            //创建
            var tr=document.createElement('tr')
            //赋值
            tr.innerHTML=`
                <td>${shuju[i].uname}</td>
                <td>${shuju[i].age}</td>
                <td><button onclick="del(${i})">删除</button></td>`;
            //添加
            tbody.appendChild(tr)
        }
    }
    function del(aaa){
        //获取数据
        var shuju=qu();
        //删除
        shuju.splice(aaa,1)
        //更新本地数据
        cun(shuju)
        //渲染
        xr()
    }
</script>